Skip to content

Fix duplicate env key that breaks benchmark-pr.yml - #1036

Merged
MDA2AV merged 1 commit into
mainfrom
hotfix-workflow-duplicate-env
Jul 24, 2026
Merged

Fix duplicate env key that breaks benchmark-pr.yml#1036
MDA2AV merged 1 commit into
mainfrom
hotfix-workflow-duplicate-env

Conversation

@MDA2AV

@MDA2AV MDA2AV commented Jul 24, 2026

Copy link
Copy Markdown
Owner

/benchmark is currently broken on main — this restores it.

#1034 added env: FRAMEWORK to the Commit saved results step, which already declared env: GH_TOKEN at its end. Two env keys in one step is invalid and GitHub rejects the whole file:

failed to parse workflow: (Line: 160, Col: 9): 'env' is already defined

Every push since the merge shows a failed benchmark-pr.yml check for this reason, and the workflow cannot be dispatched at all.

Why it got through

I validated with yaml.safe_load, and PyYAML silently accepts duplicate mapping keys (last one wins) while GitHub Actions rejects them. The local check passed on a file GitHub considers invalid.

All six workflows now validate against a loader that raises on duplicates:

benchmark-pr.yml: OK   deploy.yml: OK        pr-commands.yml: OK
benchmark.yml: OK      notify-maintainers.yml: OK   validate.yml: OK

My fault, and caught only because we tried a real --save — worth doing before trusting the rest of #1034.

🤖 Generated with Claude Code

#1034 added `env: FRAMEWORK` to the "Commit saved results" step, which already
declared `env: GH_TOKEN` at its end. Two env keys in one step is invalid, and
GitHub rejects the entire file:

    failed to parse workflow: (Line: 160, Col: 9): 'env' is already defined

So /benchmark is currently dead on main — the workflow cannot be dispatched at
all. Merged into the existing block.

This slipped through because the check I ran was `yaml.safe_load`, and PyYAML
silently accepts duplicate mapping keys (last one wins) while GitHub Actions
does not. All six workflows now validate with a loader that raises on
duplicates instead.
@MDA2AV
MDA2AV merged commit a925d20 into main Jul 24, 2026
MDA2AV added a commit to Kaliumhexacyanoferrat/HttpArena that referenced this pull request Jul 24, 2026
Six merges landed since the last sync: MDA2AV#1030, MDA2AV#1031, MDA2AV#1032, MDA2AV#1033, MDA2AV#1034 and
MDA2AV#1036. One real conflict, in the composite blurb, where both sides had
changed the same line for different reasons:

  main (MDA2AV#1032)  made the text state which normalization rule is active, so a
                screenshot can't be ambiguous about whether scores were
                rescaled to the current filter
  this branch   pointed the "How it works" link at /docs/scoring/composite
                -score/ instead of the hash route

Both are kept: MDA2AV#1032's wording with this branch's real URL.

Everything else merged on its own, but the two structural ones were checked
rather than assumed:

MDA2AV#1034 moved results from 52 shared per-profile arrays to one file per
framework. Git applied that to the renamed generator correctly — it still
loads site/data/results/*.json and still emits 1941 rows, and compare.sh
kept both its per-framework read and the --compare flag from MDA2AV#1031.

MDA2AV#1030 added three echo-ws-limited doc pages after this branch's SEO pass, so
they were written with seo_title/description already; all 126 pages now carry
both.

Generator output on the merged tree: 1941 rows, 126 static doc pages, a 126
-page search index and a 127-URL sitemap. All six workflows validate against
a loader that rejects duplicate keys, which is what MDA2AV#1036 had to fix.
@MDA2AV
MDA2AV deleted the hotfix-workflow-duplicate-env branch July 24, 2026 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant